#ifndef __NTC_TEMP_H
#define __NTC_TEMP_H

#include "adc_driver.h"
#include "sys_pub.h"
// 温度故障码定义
#define NTC_TEMP_OPEN_CIRCUIT   -127  // NTC开路
#define NTC_TEMP_SHORT_CIRCUIT  -128  // NTC短路

/**
 * @brief 初始化NTC温度传感器（会初始化关联的ADC）
 * @retval bool: 初始化结果（true=成功，false=失败）
 */
bool ntc_temp_init(void);

/**
 * @brief 读取指定通道的NTC温度（含故障检测）
 * @param channel: ADC通道（仅支持ADC_CHANNEL_1 ~ ADC_CHANNEL_4）
 * @param temp_c: 输出参数，存储读取到的温度（单位：℃）
 *                特殊值：NTC_TEMP_OPEN_CIRCUIT（开路）、NTC_TEMP_SHORT_CIRCUIT（短路）
 * @retval bool: 读取结果（true=成功，false=故障）
 */
bool ntc_read_temperature(AdcChannel channel, int16_t *temp_c);


void ntc_temp_poll_init(void);
void ntc_temp_poll_process(void) ;
bool ntc_temp_get(uint8_t sensor_index, int16_t *temp_c, bool *valid) ;
bool ntc_temp_is_fault(uint8_t sensor_index) ;
#endif // __NTC_TEMP_H
    